今天跟大神 重新認識 Vue.js | Kuro Hsu 跨越層級的傳遞方式 學習祖先元件怎麼傳遞家訓給後代
只要在祖父元件設定 provide(){}
,並在子孫元件設定 inject:[]
接收器,子孫就可以收到祖先元件的資料了,但我們多加 Vue.computed()
讓祖先元件的資料變更時,同步傳送變更後的新資料給乖兒孫
在祖先元件裡設定 provide()
data() {
return {
grandpaYell: 'grandpa Rooock!'
}
},
provide() {
return {
provideYell: Vue.computed(() => this.grandpaYell)
};
}
在子孫元件裡設定 inject:[]
inject: ['provideYell'],
並在子孫元件的 template 裡使用時需要加上 .value
<p>{{ provideYell.value }}</p>
祝大家開開心心河河笑,如果上述理解有誤希望能協助提點~感謝大家 (っಠ‿ಠ)っ